Computer-aided design (CAD) software allows a user to construct and manipulate complex three-dimensional (3D) models of parts and assemblies. A number of different modeling techniques can be used to create a 3D model. These techniques include solid modeling, wire-frame modeling, and surface modeling. Solid modeling techniques provide for topological 3D models, where the 3D model is a collection of interconnected topological entities (e.g., vertices, edges, and faces). The topological entities have corresponding supporting geometrical entities (e.g., points, trimmed curves, and trimmed surfaces). The trimmed surfaces correspond to the topological faces bounded by the edges. Wire-frame modeling techniques, on the other hand, can be used to represent a model as a collection of simple 3D lines, whereas surface modeling can be used to represent a model as a collection of exterior surfaces. CAD systems may combine these and other modeling techniques, such as parametric modeling techniques. Parametric modeling techniques can be used to define various parameters for different features and components of a model, and to define relationships between those features and components based on relationships between the various parameters.
CAD systems may also support two-dimensional (2D) objects, which are 2D representations of 3D objects. Two- and three-dimensional objects are useful during different stages of a design process. Three-dimensional representations of a model are commonly used to visualize a model in a physical context because the designer can manipulate the model in 3D space and can visualize the model from any conceivable viewpoint. Two-dimensional representations of a model are commonly used to prepare and formally document the design of a model.
CAD systems may display tolerance information to specify manufacturing parameters for a model. Tolerance information can include allowable deviations from specified dimensions or locations of a feature. For example, a plus/minus tolerance specification can indicate an allowable positional deviation of a feature in a manufactured part.
Annotating a CAD model using a set of geometric dimensioning and tolerancing formulations enables a design engineer to communicate the configuration of a part or an assembly of parts to a manufacturing engineer. The International Standards Organization (ISO) and the American Society of Mechanical Engineers (ASME) establish design and manufacturing standards, which are uniform practices for stating and interpreting dimensioning and tolerancing data. Hereinafter, a set of dimensioning and tolerancing formulations applied to a single part or a single feature is referred to as a tolerance scheme. Engineering practice prescribes that tolerance schemes that annotate a part or assembly conform to the ASME 14.5M and ASME 14.5.1M national standard or the ISO R1101 international standard.
Annotating a 3D model or a 2D drawing that represents a 3D model in a manner that is clear, concise, and compliant to ASME and ISO dimensioning and tolerancing standards can be an arduous task. Furthermore, the amount of time engineers spend on creating tolerance schemes may be very time consuming. To insert an annotation that specifies a tolerance of a particular feature of a part, the entire part must be analyzed. This is required because a slight dimensional or positional change of one feature of a part may affect an acceptable dimension or position of another feature of the part.
Many engineers create tolerance schemes through a manual process. To create a tolerance scheme, an engineer determines which features of a part are interrelated in such a way as to affect the tolerances of other features. The features are prioritized to reflect the order that each will be toleranced during a manufacturing process. Often, an engineer looks up tolerances in reference materials before calculating a tolerance scheme. Additionally, engineers rely upon experience and training with the ASME and ISO national standards to correctly apply tolerances. Tolerance schemes that annotate 2D drawings may also require verification to assure all features have been correctly toleranced.
Some commercially available CAD systems aid the engineer in creating tolerance schemes. A CAD system may guide an engineer feature by feature through the part and query the engineer for the appropriate tolerances to be applied to each feature. Some CAD systems may perform syntax checking, semantic checking, or both after a tolerance scheme is specified. In the case of syntax checking, currently available CAD systems may check whether a tolerance scheme is a complete callout (i.e., an instruction). Syntax may be checked as the tolerance scheme is being created or after the tolerance scheme is complete. In the case of semantic checking, currently available CAD systems may check whether the type of tolerance (e.g., a position) is valid for the feature that the tolerance is specifying. Moreover, a CAD system may display only valid tolerance symbols for a particular feature and allow an engineer to select the appropriate symbol for the feature. For example, an engineer may be allowed to select a position, diameter, or circularity symbol for a hole feature, all of which would be valid; whereas, an engineer may only be allowed to select a flatness or parallelism symbol for a plane feature.
Datum reference frames establish the orientation of a part for manufacturing and establish measurement directions. Typically, more than one datum reference frame is required to tolerance the features of a part by serving as a reference for a feature. A CAD system may aid an engineer in creating a datum reference frame; however, the software may not check the semantics of the datum reference frame for validity against a geometric dimension and tolerancing (GD&T) standard, such as ASME 14.5M or ISO R1101.
Drawbacks of the current state of the art include the need for engineers to understand the esoteric rules for applying tolerances to parts and to determine the interrelationship of features in a part. A further drawback of the current state of the art is that currently available interactive methods may not rigorously conform to the ASME and ISO standards for specifying tolerance schemes and datum reference frames.
A 3D CAD system that provides an automatic process that defines and associates 3D tolerance data with a 3D model and a 2D representation thereof would reduce the need for engineers to understand the esoteric rules associated with applying tolerances to parts. Additionally, codifying the best practices for defining and applying tolerance chains would enhance the capabilities and ease of use of a 3D CAD system. Moreover, reducing the time taken to verify that a model has all features correctly toleranced and ensuring that a model is not over-constrained or under-constrained in terms of tolerances, would greatly enhance current state-of-the-art computerized systems.